/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Services.ArchivoService;

import exeptions.GeneralException;
import java.util.List;
import mapeos.Archivo;
import mapeos.Grupo;
import mapeos.Usuario;

/**
 *
 * @author ivanpianetti
 */
public interface IArchivoService {

    public Archivo getById(int pId) throws GeneralException;

    public List<Archivo> getAllByUsuario(Usuario pUsuario) throws GeneralException;

    public List<Archivo> getAllByCarpeta(Archivo pArchivo) throws GeneralException;

    public List<Archivo> getAllByGrupo(Grupo pGrupo) throws GeneralException;

    public List<Archivo> getCarpetasCompartidas(Usuario pUsuario) throws GeneralException;

    public Archivo getCarpetaHomeByUsuario(Usuario pUsuario) throws GeneralException;

    public void crearCarpetaHome(Usuario pUsuario) throws GeneralException;

    public void crearCarpeta(Archivo pCarpeta) throws GeneralException;

    public void compartirCarpeta(Archivo pCarpeta, Usuario user) throws GeneralException;

    public void abandonarCarpetaCompartida(Archivo carpetaActual) throws GeneralException;

    public void insert(Archivo eArchivo) throws GeneralException;

    public void update(Archivo eArchivo) throws GeneralException;

    public void delete(Archivo eArchivo) throws GeneralException;

    public void subirArchivo(String path, Archivo eArchivo) throws GeneralException;

    public void descargarArchivo(String folderPath, Archivo eArchivo) throws GeneralException;
}
